package com.qinglian.controller;

import com.qinglian.entity.Friend;
import com.qinglian.service.IFriendService;
import com.qinglian.service.IUserService;
import com.qinglian.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author augn
 * @since 2023-04-24
 */
@RestController
@CrossOrigin
@RequestMapping("/friend")
public class FriendController {

    @Autowired
    private IFriendService service;

    // 获取好友列表
    @GetMapping("/getFriendList")
    public Result<?> getFriendList(@RequestParam Integer userId) {
        return service.getFriendList(userId);
    }

    // 获取好友头像列表
    @GetMapping("/getFriendImageList")
    public Result<?> getFriendImageList(@RequestParam Integer userId) {
        return service.getFriendImageList(userId);
    }

    // 获取好友名字列表
    @GetMapping("/getFriendNameList")
    public Result<?> getFriendNameList(@RequestParam Integer userId) {
        return service.getFriendNameList(userId);
    }

    // 获取好友备注列表
    @GetMapping("/getFriendNoteList")
    public Result<?> getFriendNoteList(@RequestParam Integer userId) {
        return service.getFriendNoteList(userId);
    }

    // 添加好友
    @PostMapping("/addFriend")
    public Result<?> addFriend(@RequestBody Friend friend) {
        return service.addFriend(friend);
    }

    // 获取请求添加好友列表
    @GetMapping("/getReqFriendList")
    public Result<?> getReqFriendList(@RequestParam Integer userId) {
        return service.getReqFriendList(userId);
    }

    // 同意或拒绝好友请求
    @GetMapping("/agreeOrNot")
    public Result<?> agreeOrNot(@RequestParam Integer userId,@RequestParam Integer friendId,@RequestParam Integer type) {
        return service.agreeOrNot(userId,friendId,type);
    }
}
